// 导入数据模块
import{ 
  getMediaPlayPath,
  getArticleDetail,
  getAssociationArticle,
} from "../../api/apis";



// pages/detail/detail.js
Page({
  /**
   * 页面的初始数据
   */
  data:{
    isShowPopUp:false //是否显示弹出层
  },

  // 显示弹出层的方法
  showPopUp(){
    this.setData({
      isShowPopUp: true
    })
  },
  // 关闭弹出层的方法
  hidePopUp(){
    this.setData({
      isShowPopUp:false
    })
  },

  // 返回上一页
  onClickLeft(){
    // 返回上一个页面
    wx.navigateBack();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let {vid,article_id} = options;

    //调用接口 获取文章详情（简易）
    getMediaPlayPath(vid)
      .then(res => {
        let abridge = res?.data?.data;
        // 如果结构有问题 阻断函数向下执行
        if (!abridge) {
          console.log("文章详情结构异常:",res);
          return;
        }

        // 如果结构没有问题
        console.log("简易文章详情 =>",abridge);
        // 获取到 文章标签 和 播放链接数组
        let { categories,resource: {progressive}} = abridge;
        // 发送到视图层
        this.setData({
          categories,
          progressive
        })
      })
      .catch(err => console.log("请求失败 =>",err));

      //文章详情（完整）
      getArticleDetail(article_id)
    .then(res =>{
      // 文章详情
      let article = res?.data?.data;
      // 如果结构有问题 阻断函数向下执行
      if (!article) {
        console.log("文章详情(完整)结构异常:",res);
        return;
      }
      
      // 如果结构没有问题
      console.log("完整文章详情 =>",article);
      let { 
        title,
        content,
        count,
        author,
        team,
        publish_time
      } = article;

      // 折叠的标题
      let i =title.indexOf("\n");
      i = i < 0 ? title.length : i;
      let foldTitle = title.slice(0,i);
      
      // 把导演推到团队中
      team = [author, ...team];
      
      // 标题,内容,视频数据,团队发送到视图层
      this.setData({ 
        foldTitle,
        title, 
        content, 
        count,
        team,
        publish_time});
    })
      .catch(err => console.log("请求失败 =>",err));

    //相关视频
    getAssociationArticle(article_id)
    .then(res =>{
      // 相关视频
      let AssociationArticleList = res?.data?.data?.list;
    // 如果结构有问题
    if (!AssociationArticleList) {
      console.error("相关视频列表结构异常 =>",res);
    }
    // 如果结构没有问题
    console.log("相关视频列表 =>",AssociationArticleList);
    this.setData({
      AssociationArticleList
    })
  })

      
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})